Entries in the agenda buffer are linked back to the Org file or diary file where they originate. You are not allowed to edit the agenda buffer itself, but commands are provided to show and jump to the original entry location, and to edit the Org files “remotely” from the agenda buffer. In this way, all information is stored only once, removing the risk that your agenda and note files may diverge.
Some commands can be executed with mouse clicks on agenda lines. For the other commands, the cursor needs to be in the desired line.
org-agenda-next-line)org-agenda-previous-line)org-agenda-show-and-scroll-up)org-agenda-recenter)org-agenda-goto)org-agenda-switch-to)org-agenda-follow-mode)org-agenda-start-with-follow-mode. org-agenda-tree-to-indirect-buffer)org-agenda-open-link)org-aganda-day-view)org-aganda-day-view)org-agenda-month-view)org-agenda-month-year)org-agenda-later)org-agenda-current-span days. For example, if the
display covers a week, switch to the following week. With
prefix arg, go forward that many times
org-agenda-current-span days. org-agenda-earlier)org-agenda-goto-today)org-agenda-goto-date)org-agenda-clock-goto)org-agenda-toggle-diary)org-agenda-log-mode)org-log-done) are
shown in the agenda, as are entries that have been clocked on
that day. You can configure the entry types that should be
included in log mode using the variable
org-agenda-log-mode-items. When called with a
C-u prefix, show all possible logbook entries,
including state changes. When called with two prefix args
C-u C-u, show only logging information, nothing
else. v L is equivalent to C-u v l.
org-agenda-manipulate-query-add)org-agenda-archives-mode)org-agenda-archives-mode
'files)ARCHIVED are also scanned when producing
the agenda. When you use the capital A, even all
archive files are included. To exit archives mode, press v
a again. org-agenda-clockreport-mode)org-agenda-start-with-clockreport-mode. By using a
prefix argument when toggling this mode (i.e. C-u
R), the clock table will not show contributions from
entries that are hidden by agenda filtering1. org-agenda-entry-text-mode)org-agenda-entry-text-maxlines. Calling
this command with a numeric prefix argument will temporarily
modify that number to the prefix value. org-agenda-toggle-time-grid)org-agenda-use-time-grid and
org-agenda-time-grid. org-agenda-rodo)org-agenda-rodo)org-save-all-org-buffers)org-agenda-columns)#+COLUMNS line, or from the default
variable org-columns-default-format), will be
used in the agenda.
org-agenda-remove-restriction-lock)org-agenda-filter-by-tag)You will be prompted for a tag selection letter; <SPC> will mean any tag at all. Pressing <TAB> at that prompt will offer use completion to select a tag (including any tags that do not have a selection character). The command then hides all entries that do not contain or inherit this tag. When called with prefix arg, remove the entries that do have the tag. A second / at the prompt will turn off the filter and unhide any hidden entries. If the first key you press is either + or -, the previous filter will be narrowed by requiring or forbidding the selected additional tag. Instead of pressing + or - after /, you can also immediately use the \ command.
In order to filter for effort estimates, you should set up allowed efforts globally, for example
(setq org-global-properties
'(("Effort_ALL". "0 0:10 0:30 1:00 2:00 3:00 4:00")))
You can then filter for an effort by first typing an
operator, one of <, >, and
=, and then the one-digit index of an effort
estimate in your array of allowed values, where 0
means the 10th value. The filter will then restrict to
entries with effort smaller-or-equal, equal, or
larger-or-equal than the selected value. If the digits 0-9
are not used as fast access keys to tags, you can also simply
press the index digit directly without an operator. In this
case, < will be assumed. For application of the
operator, entries without a defined effort will be treated
according to the value of
org-sort-agenda-noeffort-is-high. To filter for
tasks without effort definition, press ? as the
operator.
Org also supports automatic, context-aware tag filtering.
If the variable org-agenda-auto-exclude-function
is set to a user-defined function, that function can decide
which tags should be excluded from the agenda automatically.
Once this is set, the / command then accepts
RET as a sub-option key and runs the auto
exclusion logic. For example, let's say you use a
Net tag to identify tasks which need network
access, an Errand tag for errands in town, and a
Call tag for making phone calls. You could
auto-exclude these tags based on the availability of the
Internet, and outside of business hours, with something like
this:
(defun org-my-auto-exclude-function (tag)
(and (cond
((string= tag "Net")
(/= 0 (call-process "/sbin/ping" nil nil nil
"-c1" "-q" "-t1" "mail.gnu.org")))
((or (string= tag "Errand") (string= tag "Call"))
(let ((hour (nth 2 (decode-time))))
(or (< hour 8) (> hour 21)))))
(concat "-" tag)))
(setq org-agenda-auto-exclude-function 'org-my-auto-exclude-function)
org-agenda-undo)org-agenda-todo)org-agenda-todo-nextset)org-agenda-todo-previousset)org-agenda-kill)org-agenda-confirm-kill. org-agenda-refile)org-agenda-archive-default-with-confirmation)org-archive-default-command. When using the
a key, confirmation will be required. org-agenda-toggle-archive-tag)org-agenda-archive-to-archive-sibling)org-agenda-archive)org-agenda-show-tags)org-agenda-show-inherited-tags, but still want to
see all tags of a headline occasionally. org-agenda-set-tags)org-agenda-show-priority)org-agenda-priority-up)org-agenda-priority-down)org-agenda-add-note)org-log-into-drawer, this may be inside a drawer.
org-attach)org-agenda-schedule)org-agenda-deadline)org-agenda-action)
m Mark the entry at point for action. You can also make entries
in Org files with C-c C-x C-k.
d Set the deadline of the marked entry to the date at point.
s Schedule the marked entry at the date at point.
r Call org-capture with the cursor date as default date.
Press r afterward to refresh
the agenda and see the effect of the command.
org-agenda-do-date-later)org-agenda-do-date-earlier)org-agenda-date-prompt)org-agenda-clock-in)org-agenda-clock-out)org-agenda-clock-cancel)org-agenda-clock-goto)org-agenda-bulk-mark)org-agenda-bulk-unmark)org-agenda-bulk-remove-all-marks)org-agenda-bulk-action)
r Prompt for a single refile target and move all entries. The entries
will no longer be in the agenda; refresh (g) to bring them back.
$ Archive all selected entries.
A Archive entries by moving them to their respective archive siblings.
t Change TODO state. This prompts for a single TODO keyword and
changes the state of all selected entries, bypassing blocking and
suppressing logging notes (but not time stamps).
+ Add a tag to all selected entries.
- Remove a tag from all selected entries.
s Schedule all items to a new date. To shift existing schedule dates
by a fixed number of days, use something starting with double plus
at the prompt, for example ‘++8d’ or ‘++2w’.
S Reschedule randomly by N days. N will be prompted for. With prefix
arg (C-u B S), scatter only accross weekdays.
d Set deadline to a specific date.
org-agenda-goto-calendar)org-calendar-goto-agenda)org-agenda-diary-entry)If you configure org-agenda-diary-file to
point to an Org-mode file, Org will create entries (in
org-mode syntax) in that file instead. Most entries will be
stored in a date-based outline tree that will later make it
easy to archive appointments from previous months/years. The
tree will be built under an entry with a
DATE_TREE property, or else with years as
top-level entries. Emacs will prompt you for the entry
text—if you specify it, the entry will be created in
org-agenda-diary-file without further
interaction. If you directly press <RET> at the prompt
without typing text, the target file will be shown in another
window for you to finish the entry there. See also the k
r command.
org-agenda-phases-of-moon)org-agenda-sunrise-sunset)org-agenda-convert-date)org-agenda-holidays)org-write-agenda)org-agenda-exporter-settings to set options for
ps-print and for
htmlize to be used
during export.org-agenda-quit)org-agenda-exit)[1] Only tags filtering will be respected here, effort filtering is ignored.
[2] Custom commands can preset a filter by
binding the variable org-agenda-filter-preset as
an option. This filter will then be applied to the view and
persist as a basic filter through refreshes and more secondary
filtering. The filter is a global property of the entire agenda
view—in a block agenda, you should only set this in the
global options section, not in the section of an individual
block.
[3] This file is parsed for the agenda when
org-agenda-include-diary is set.